The basic principle of the MPEG coding, now widely used for compressing full-motion video data, is removing redundancies between signals. Examples of redundancies between signals are spectral redundancy, temporal redundancy, spatial redundancy and statistical redundancy. Spectral redundancy is found between spectral elements of RGB (Red, Green, Blue) image signals received from an input device such as cameras. Temporal redundancy means redundancy between images adjacent in time and can be removed by estimating and compensating any changes between two consecutive images. Spatial redundancy exists between adjacent pixels. Statistical redundancy is to be represented by statistical relation among coefficients generated during the MPEG encoding process. Statistical relation is taken advantage of for removing the statistical redundancy.
The MPEG encoding generates three different kinds of frames, i.e., I, P and B frames, according to a compression method. I-frame, representing an intraframe coding, is generated by encoding all macro blocks within a picture. The picture, therefore, would still contain temporal redundancy. It is periodically generated to prevent error propagation and correct errors in changing pictures. P-frame, representing a predictive coding frame, is generated by removing temporal redundancy between a current frame and its previous I or P-frame. B-frame, representing a bi-directional predictive coding frame, is generated by removing temporal redundancy between a current frame and its previous and/or future frame. Backward, forward, and bi-directional predictive coding frames are respectively generated by estimating the movement of a current frame based upon a previous I or P-frame and/or future I or P-frame; and the best one of these three frames is selected as a B-frame.
The above MPEG encoding system has broadened its application in various fields, such as in digital monitoring systems, video teleconference systems, multi-channel remote mechanization systems and remote supervisory systems. These kinds of applications generally have multiple input signal sources. For example, a remote monitoring system in a bank receives video signals from cameras installed at various locations such as at the doors, teller windows, ATMS and vault.
Since conventional MPEG encoders have been designed for encoding a single channel video signal, they can not effectively compress a plurality of signals in an multi-channel environments. For instance, a conventional single-channel MPEG encoder may-remove spatial redundancy of multi-channel video signals. However, it can not effectively remove temporal redundancy because a large memory is needed in order to store previous frames (hereinafter, restoring frames) and current frames (hereinafter, input frames) for each of input channels.
Alternatively many single-channel MPEG encoders equal to the number of input channels could be proposed. And yet this scheme increases the system cost and results in an inefficient system.
To reduce hardware requirement, the input channels need to share hardware resources, such as memory and MPEG encoder. Particularly, since most of multi-channel MPEG encoding systems do not operate in real time the sharing of hardware resources is all the more desired.
However, designing an MPEG multi-channel encoder that uses common hardware such as memories has been found difficult because it experienced fluctuation in the frame rate during the course of MPEG encoding.
The frame rate of MPEG encoding depends upon synchronization signals that video signal sources generate. In an image encoding system where input video signals are encoded into a single stream of digital signals, like the aforementioned multi-channel encoding systems, the synchronization signals of the digital signals have the same phases as those of the analog synchronization signals generated by the video signal sources. However, the periods of the synchronization signals are not identical. For example, security cameras made by a same manufacture would not produce exactly the same synchronization signals. Also, the phase of a synchronization signal changes as time goes by. These variations cause frame rate fluctuation. Moreover, an increasing number of input channels would entail greater phase difference among input channels, thereby frame rate fluctuation
Because the problem of frame rate fluctuation was not solved, a multi-channel MPEG encoding system has not been developed. Therefore, under the multi-channel environments, an encoder is needed that is able to encode signals at a stabilized frame rate regardless of the number of input channels and of the elapse of time.